<?php
/**
 * Created by PhpStorm.
 * User: fanzhaogui
 * Date: 2021/4/7
 * Time: 10:55
 */

namespace App\HttpController;


use EasySwoole\Http\AbstractInterface\Controller;

/**
 * Class User
 * @description 用户控制器
 * @package App\HttpController
 */
class User extends Controller
{
    /**
     * 用户信息
     * @return string
     */
    public function userInfo()
    {
        // 获取get参数
        $name = $this->request()->getRequestParam('name');

        var_dump($name);

        $this->response()->write($name . PHP_EOL);

        // return 返回的值会让框架在此发进行控制方法调度，将继续执行
        // User控制器的requestTotal方法
        return '/User/requestTotal';
    }

    /**
     * 接口请求量
     */
    public function requestTotal()
    {
        $this->response()->write('请求数+1' . PHP_EOL);
    }

    /**
     * gc方法在执行完afterAction方法之后自动调用，可自行覆盖其他的gc回收逻辑
     */
    public function gc()
    {
        parent::gc(); // TODO: Change the autogenerated stub
    }


    /**
     * @param null|string $action
     */
    public function actionNotFound(?string $action)
    {
        parent::actionNotFound($action); // TODO: Change the autogenerated stub
    }


    /**
     * 所有控制器请求都会经过该方法，如果此方法返回false，则请求不会继续执行下去，可用于权限验证
     * @param null|string $action
     * @return bool|null
     */
    public function onRequest(?string $action): ?bool
    {
        return parent::onRequest($action); // TODO: Change the autogenerated stub
    }
}